package com.muyu.cloud.auth.service;

import com.muyu.cloud.auth.domain.response.TokenRes;
import com.muyu.cloud.system.domain.UserInfo;

/**
 * @Author: DongZeLiang
 * @date: 2024/5/24
 * @Description:
 * @Version: 1.0
 */
public interface AuthService {
    /**
     * 通过用户名和密码获取到用户信息
     * @param userName 用户名称
     * @param password 用户密码
     * @return 登录信息
     */
    UserInfo login (String userName, String password);

    /**
     * 通过登录用户信息，生成token
     * @param userLoginInfo 用户信息
     * @return token
     */
    TokenRes genToken (UserInfo userLoginInfo);

    /**
     * 根据token获取用户相信信息
     * @param userKey 令牌
     * @return 用户信息
     */
    UserInfo loginInfo (String userKey);

    /**
     * 退出登录
     * @param userKey 令牌
     */
    void loginOut (String userKey);
}
